
export default [
    {
        path: '/home',
        component: () => import('@/pages/home'),
        //路由元信息,新学习的一个配置项!!!!给当前路由添加一些额外数据
        //它的右侧是一个对象[可以有多个键值对]
        //路由配置项：书写的时候不要胡写、乱写、瞎写【在VC组件身上获取不到,没有任何意义】
        meta: {
            show: true
        }
    },
    {
        path: '/login',
        component: () => import('@/pages/login'),
        meta: {
            show: false
        }

    },
    {
        path: '/register',
        component: () => import('@/pages/register'),

        meta: {
            show: false
        }

    },
    {
        //命名路由,给路由起一个名字
        name: 'search',
        //在注册路由的时候,如果这里占位，切记务必要传递params
        path: '/search/:keyword?',
        component: () => import('@/pages/search'),

        meta: {
            show: true
        },
        //新增配置项:props,给路由组件传递props参数
        //第一种布尔模式,相当于把params参数，作为props属性值传递给这个路由组件
        // props:true,

        //第二种:对象形式
        // props:{a:1,b:'我爱你'}

        //第三种写法:函数写法.一般是把query参数与params参数当中props传递给路由组件!!!
        //route就是当前路由
        // props:(route)=>{
        //      //是将当前箭头函数返回结果，作为props传递给search路由组件!!!
        //      return {a:route.params.keyword,b:'可以传递参数'};
        // }
    },
    // 设置重定向
    {
        path: '/',
        redirect: '/home'
    },

    {
        // 需要传参 添加占位符
        path: '/detail/:skuId?',
        component: () => import('@/pages/detail'),

        // 路由元信息，控制当前路由是否需要路由组件
        meta: { show: true },
    },
    {
        path: '/addcartsuccess', //query参数
        component: () => import('@/pages/addCartSuccess'),

        meta: { show: true }

    },
    {
        path: '/shopcart',
        component: () => import('@/pages/shopCart'),

        meta: { show: true }
    },
    {
        path: '/trade',
        component: () => import('@/pages/trade'),

        meta: { show: true },

        // 路由独享守卫  ： 只负责某一个路由
        beforeEnter: (to, from, next) => {
            // 想访问交易页面  只有从购物车而来的路由才能访问交易页
            if (from.path == '/shopcart') {
                next()
            } else {
                //如果浏览器的 URL 改变了 (可能是用户手动或者浏览器后退按钮)，那么 URL 地址会重置到 from 路由对应的地址。
                //底下代码【从哪里来的，还是呆在哪里】
                next(false)
            }

        }


    },
    {
        path: '/pay',
        component: () => import('@/pages/pay'),

        meta: { show: true },
        // 路由独享守卫 ： 只负责某一个路由
        beforeEnter: (to, from, next) => {
            if (from.path == '/trade') {
                next()

            } else {
                // 从哪来回哪去
                next(false)
            }

        }

    },
    {
        path: '/paySuccess',
        component: () => import('@/pages/paySuccess'),

        meta: { show: true },
        // 路由独享守卫 ： 只负责某一个路由
        beforeEnter: (to, from, next) => {
            if (from.path == "pay") {
                next();
            } else {
                next(false);
            }
        }

    },
    {
        path: '/center',
        component: () => import('@/pages/center'),

        meta: { show: true },

        // 二级路由配置
        children: [
            {
                path: 'myOrder',
                component: () => import('@/pages/center/myOrder'),

            },
            {
                path: 'teamOrder',
                component: () => import('@/pages/center/teamOrder'),
            },

            // 重定向
            {
                path: '/center',
                redirect: '/center/myOrder',
            }

        ]

    }

]